'use strict';
/**
 * 创建 课程迁移文件
 * sequelize db:seed --seed 20240607041838-create-chapter
 * @type {import('sequelize-cli').Migration}
 * */
module.exports = {
	async up(queryInterface, Sequelize) {
		await queryInterface.createTable('Courses', {
			id: {
				allowNull: false,
				autoIncrement: true,
				primaryKey: true,
				type: Sequelize.INTEGER.UNSIGNED
			},
			categoryId: {
				type: Sequelize.INTEGER.UNSIGNED
			},
			name: {
				allowNull: false,
				type: Sequelize.STRING
			},
			image: {
				type: Sequelize.STRING
			},
			recommended: {
				allowNull: false,
				type: Sequelize.TINYINT
			},
			introductory: {
				allowNull: false,
				type: Sequelize.TINYINT
			},
			content: {
				type: Sequelize.TEXT
			},
			likesCount: {
				allowNull: false,
				defaultValue: 0,
				type: Sequelize.INTEGER.UNSIGNED
			},
			chaptersCount: {
				allowNull: false, defaultValue: 0,
				type: Sequelize.INTEGER.UNSIGNED
			},
			userId: {
				allowNull: false,
				type: Sequelize.INTEGER.UNSIGNED
			},
			createdAt: {
				allowNull: false,
				type: Sequelize.DATE
			},
			updatedAt: {
				allowNull: false,
				type: Sequelize.DATE
			}
		});
	},
	async down(queryInterface, Sequelize) {
		await queryInterface.addIndex('Courses', {
			fields: ['categoryId']
		});
		await queryInterface.addIndex('Courses', {
			fields: ['userId']
		});
	}
};